# 使用多阶段构建
FROM golang:1.22.5-alpine

# 镜像维护者的姓名和邮箱
LABEL authors="Alex Song"

# 创建工作目录
WORKDIR /app

# 拷贝文件和目录到镜像中
COPY . .

# 设置 Go 代理并下载依赖，构建项目
RUN go env -w GOPROXY=https://goproxy.cn,direct && \
    go mod download && \
    go build -o urlshortener

# 暴露端口8080
EXPOSE 8080

# 容器启动命令
CMD ["./urlshortener"]